﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace codeGen.Model
{
    /// <summary>
    /// 实体类元数据描述模型（参考ORM映射和代码生成场景[4]()[6]()）
    /// </summary>
    public class ClassMetadata
    {
        /// <summary>
        /// 类名称（对应数据库表名[4]()）
        /// </summary>
        public string ClassName { get; set; }

        /// <summary>
        /// 类注释（XML文档注释[8]()）
        /// </summary>
        public string ClassComment { get; set; }
        /// <summary>
        /// 字段集合（体现字段与属性的映射关系[9]()）
        /// </summary>
        public List<FieldMetadata> Fields { get; set; } = new();
    }

    /// <summary>
    /// 字段元数据模型（符合C#字段/属性规范[2]()[7]()）
    /// </summary>
    public class FieldMetadata
    {
        /// <summary>
        /// 字段名称（private字段命名规范[11]()）
        /// </summary>
        public string FieldName { get; set; }

        /// <summary>
        /// 字段类型（包含Nullable处理[4]()）
        /// </summary>
        public string FieldType { get; set; }

        /// <summary>
        /// 字段注释（数据库字段说明[1]()）
        /// </summary>
        public string FieldComment { get; set; }
    }
}
